#ifndef BOMBA_PLANTA_H_
#define BOMBA_PLANTA_H_
#include "Bomba.h"
#include "Coordenada.h"
#include "IMovible.h"
#include "IOcupante.h"
#include "Enemigo.h"
#include "Aliado.h"
#include <string>

using std::string;

class BombaPlanta:  public Bomba, public IMovible {
private:
	int velocidad;
        string direccion;
        Coordenada posicionAnterior;
public:
	/* Constructor. */
	BombaPlanta();
        BombaPlanta(int vel, Coordenada pos, string dir, int alcance);
	/* Destructor. */
	~BombaPlanta();
	/* Dispara la bomba en la direccion que tiene la planta partiendo de
	 * casillero. Afecta a los casilleros adyacentes tambien. */
	void soltarEn(Coordenada coord); //recibe direccion tambien?
	/* implementacion de 'mover' de IMovible. */
	void mover(Coordenada nueva_coord);
        void mover();
	void colisionarCon(IOcupante* ocupante);
        void actuar(Mapa& mapa);
        void retroceder();
        Coordenada getPosicion();

};

#endif